<!DOCTYPE html>
<html class="x-admin-sm">

    <head>
        <meta charset="UTF-8">
        <title>报表页</title>
        <meta name="renderer" content="webkit">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!--        <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />-->
        <link rel="stylesheet" href="./css/font.css">
        <link rel="stylesheet" href="./css/xadmin.css">
        <script src="./lib/layui/layui.js" charset="utf-8"></script>
        <script type="text/javascript" src="./js/xadmin.js"></script>
        <script type="text/javascript" src="./js/jquery.min.js"></script>
        <script type="text/javascript" src="./data/sensor.js"></script>
        <!--[if lt IE 9]>
          <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
          <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->

    </head>

    <body>
        <div class="x-nav">
            <span class="layui-breadcrumb">
                <a href="">首页</a>
                <a href="">统计报表</a>
                <a>
                    <cite>报表信息</cite></a>
            </span>
            <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
                <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i>
            </a>
        </div>
        <div class="layui-fluid">
            <div class="layui-row layui-col-space15">
                <div class="layui-col-md12">
                    <div class="layui-card">
                        <div class="layui-card-body ">
                            选择模板:&nbsp; <select id="select_model" style="width: 100px;height: 20px">
<!--                                    <option value="">请选择</option>-->
                                 </select>
                            <button type="button" class="layui-btn"  onclick="selectReport()">查询<i class="layui-icon">&#xe615;</i>   </button>
                            <button type="button" class="layui-btn"  onclick="exportReport()">导出<i class="layui-icon">&#xe67d;</i>   </button>
                            <button type="button" class="layui-btn layui-btn-normal" id="btn_approveReport"  onclick="approveReport()">审批<i class="layui-icon">&#x1005;</i>   </button>
                            <br>


                            <fieldset class="layui-elem-field">
                                <legend style="font-size: 12px;">日报</legend>
                                <div class="layui-field-box">
                                    选择日期:&nbsp; <input type="date" id="searchDate" style="height: 20px">
                                    &nbsp;&nbsp;班报:&nbsp;
                                    选择班次:&nbsp; <select id="select_banci" style="width: 100px;height: 20px">
                                    <option value="0">请选择</option>
                                    <option value="0">0点班</option>
                                    <option value="8">8点班</option>
                                    <option value="16">16点班</option>
                                </select>

                                </div>
                            </fieldset>


                            <fieldset class="layui-elem-field">
                                <legend style="font-size: 12px;">月报</legend>
                                <div class="layui-field-box">
                                    选择日期:&nbsp; <input type="date" id="searchDate_start" style="height: 20px">&nbsp;-&nbsp;
                                    <input type="date" id="searchDate_end" style="height: 20px">
                                    <button type="button" class="layui-btn"  onclick="exportReportMonth()">导出月报<i class="layui-icon-export">&#xe67d;</i>   </button>
                                </div>
                            </fieldset>

                            <br>



                            <div id="approveDetails"></div>
                            <table id="demo" class="layui-table" lay-filter="test_table" ></table>
                            <span>注：每项统计最大值（O2统计最低值）</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </body>
    <script type="text/html" id="toolbarMenu">
        <div class = "layui-btn-container" >
<!--            <button class = "layui-btn layui-btn-sm" lay-event = "getCheckData" > 获取选中行数据 </button>-->
<!--            <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button >-->
<!--            <button class = "layui-btn layui-btn-sm" lay-event = "addSensor" onclick="xadmin.open('添加设备','./sensor-add.html',600,400)" ><i class="layui-icon"></i> 新增传感器</button>-->
        </div >
    </script>
    <script type="text/html" id="toolbarDemo">


        <div class = "layui-btn-container" >

<!--            <button class = "layui-btn layui-btn-sm" lay-event = "getCheckData" > 获取选中行数据 </button>-->
<!--            <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button > -->
<!--            <button class = "layui-btn layui-btn-sm" lay-event = "isAll" > 验证是否全选</button>-->
<!--            <button class = "layui-btn layui-btn-sm"   lay-event = "delete" > 删除</button>-->
        </div >
    </script>


<!--    <script type="text/html" id="switchTpl">-->
<!--        &lt;!&ndash; 这里的checked的状态只是演示 &ndash;&gt;-->
<!--        <input type = "checkbox" name = "sex" value = "{{d.id}}" lay-skin = "switch"lay-text = "女|男" lay-filter = "sexDemo" {{ d.id == 10003 ? 'checked': ''}} >-->
<!--    </script>-->
<!--    <script>layui.use('laydate',-->
<!--        function() {-->
<!--            var laydate = layui.laydate;-->

<!--            //执行一个laydate实例-->
<!--            laydate.render({-->
<!--                elem: '#start' //指定元素-->
<!--            });-->

<!--            //执行一个laydate实例-->
<!--            laydate.render({-->
<!--                elem: '#end' //指定元素-->
<!--            });-->

<!--        });</script>-->
    <script>
        // layui.use('laydate', function() {
        //     var laydate = layui.laydate;
        //
        //     //日期范围
        //     laydate.render({
        //         elem: '#test6'
        //         //设置开始日期、日期日期的 input 选择器
        //         //数组格式为 2.6.6 开始新增，之前版本直接配置 true 或任意分割字符即可
        //         , range: ['#test-startDate-1', '#test-endDate-1']
        //     });
        // });


       // layui.use('table',
       //    function() {
        //       var table = layui.table;
        //
        //         //监听单元格编辑
        //         table.on('edit(test)',
        //             function(obj) {
        //                 var value = obj.value //得到修改后的值
        //                     ,
        //                     data = obj.data //得到所在行所有键值
        //                     ,
        //                     field = obj.field; //得到字段
        //                 layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改为：' + value);
        //             });

                //头工具栏事件
           //      table.on('toolbar(test)',
           //          function(obj) {
           //              var checkStatus = table.checkStatus(obj.config.id);
           //              switch (obj.event) {
           //                  case 'getCheckData':
           //                      var data = checkStatus.data;
           //                      layer.alert(JSON.stringify(data));
           //                      break;
           //                  case 'getCheckLength':
           //                      var data = checkStatus.data;
           //                      layer.msg('选中了：' + data.length + ' 个');
           //                      break;
           //                  case 'isAll':
           //                      layer.msg(checkStatus.isAll ? '全选': '未全选');
           //                      break;
           //
           //              };
           //          });
           // });



    </script>

    <script type="text/javascript">

        function initSensorList(dataSensor){
            layui.use('table', function () {
                var table = layui.table;
                //第一个实例
                table.render({
                    elem: '#demo'
                    ,height: 450
                    ,data: dataSensor,
                    page: false //开启分页
                    ,limit: 100,
                    toolbar: '#toolbarMenu',
                    cols: [[ //表头
                        {field: 'address', title: '地址'}
                        , {field: 'day', title: '日期'}
                        , {field: 'shiftnumber', title: '检查次数'}
                        , {field: 'maxch4', title: '甲烷(%)'}
                        , {field: 'maxco', title: '一氧化碳(ppm)'}
                        , {field: 'maxco2', title: '二氧化碳(%)'}
                        , {field: 'maxhumidity', title: '湿度(%)'}
                        , {field: 'maxtemperature', title: '温度(℃)'}
                        , {field: 'mino2', title: '氧气(%)'}

                        // , {field: '', title: '编辑', width: 150, sort: true, toolbar:'#toolbarDemo'}
                    ]]
                    , loading: true
                    , done: function (res, curr, count) {
                        let tableView = this.elem.next();
                        layui.each(res.data, function (i, item) {
                            // if (item.CustomerType === '门店') {
                            //     //tableView.find('tr[data-index=' + i + ']').find('td').eq(9).data('edit', true); //设置下标为9的单元格为可编辑
                            //     tableView.find('tr[data-index=' + i + ']').find('td').data('edit', true);
                            // }

                            tableView.find('tr[data-index=' + i + ']').find('td').data('edit', true);

                        })
                    }


                });

                //头工具栏事件
                table.on('toolbar(toolbarDemo)', function (obj) {
                    var checkStatus = table.checkStatus(obj.config.pid);
                    switch (obj.event) {
                        case 'delete':
                            layer.msg('data:' + obj.data.pid);
                            del(obj);
                            break;
                    }
                    ;
                });
                //列里的工具栏
                // table.on('tool(test_table)',
                //     function(obj) {
                //         //var checkStatus = table.checkStatus(obj.config.pid);
                //         switch (obj.event) {
                //             case 'delete':
                //                 layer.msg('data:'+obj.data.pid);
                //                 del(obj);
                //                 break;
                //         };
                //     });

                //监听单元格编辑
                table.on('edit(test_table)',
                    function (obj) {
                        var value = obj.value //得到修改后的值
                            ,
                            data = obj.data //得到所在行所有键值
                            ,
                            field = obj.field; //得到字段
                        updateReportList(obj.data);
                        layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改为：' + value);
                    });
            });
        }

        function getData(){
             dataSensor=sensorServer.getSensorDataListByByBanci({"page":1,"rows":1000,"day":"","startDay":"","endDay":""});
             return dataSensor;
        }
        //加载默认数据
        $(function () {
            var  dataSensor=getData();
            if (dataSensor!=null&&dataSensor!=undefined){
                initSensorList(dataSensor.data);
            }else{
                layer.msg('加载失败！!',{icon:1,time:1000});
            }
            initSelectData();
            //查询那些人审批了和那些人没有审批
            checkApproveAccountList();
            initBtnApproveReport();
        })


        function sensorInfo(pid,deviceId){
            this.pid=pid;
            this.deviceId=deviceId;
        }
        // function  del(obj){
        //     layer.confirm('确认要删除吗？',function(index){
        //         //发异步删除数据
        //         sensorServer.delSensorInfo(obj.data);
        //        //  $(obj).parents("tr").remove();
        //        //  $(obj).remove();
        //         layer.msg('已删除!',{icon:1,time:1000});
        //         location.reload();
        //     });
        // }

        //导出操作
        function exportReport() {
            if(!canDerive){
                alert("审批流程未完毕！请等待领导审批完成后再操作。");
                return;
            }
            var seText=$("#searchDate").val();
            if(seText==""){
                alert("请选择日期！！");
                return;
            }
            var modelPath=$("#select_model").val();
            var banci=$("#select_banci").val();
            sensorServer.exportReportByModel(modelPath,seText,banci);
        }
        function exportReportMonth() {
            var modelPath=$("#select_model").val();
            var startDay=$("#searchDate_start").val();
            var endDay=$("#searchDate_end").val();
            if(startDay==""||endDay=="")
            {
                alert("请选择开始日期和结束日期");
                 return;
            }
            sensorServer.exportReportByModelMonth(modelPath+"Month",startDay,endDay);
        }
        //查询操作
        function selectReport() {
            var seText=$("#searchDate").val();

            var startDay=$("#searchDate_start").val();
            var endDay=$("#searchDate_end").val();

            if(seText==""&&startDay==""&&endDay==""){
                alert("请选择日期！！");
                return;
            }
               let  dataResult=sensorServer.getSensorDataListByByBanci({"page":1,"rows":1000,"day":seText,"startDay":startDay,"endDay":endDay});
               initSensorList(dataResult.data);
        }

        //初始化模板列表
        function  initSelectData() {
            var resultDataInfo=sensorServer.getReportModeList({"page":1,"rows":10});
            if (resultDataInfo!=null) {
                let optionList="";
                for(let i=0;i<resultDataInfo.data.length;i++){
                    optionList+="<option value='"+resultDataInfo.data[i].modelPath+"'>"+resultDataInfo.data[i].modelName+"</option>";
                }
                $("#select_model").append(optionList);
            }
        }

        //审批
        function  approveReport() {
            alert("确定要审批吗？")
            let params={"accountId":sensorServer.getLoginUserInfo().id};
            let result=sensorServer.addApproveReportLog(params);
            if(result==1){
                layer.msg("保存成功！");
                location.reload();
            }else{
                layer.msg("保存失败！");
            }
        }
        //是否已经审批今日
        function initBtnApproveReport() {
            let loginUserInfo=sensorServer.getLoginUserInfo();
            let params={"accountId":loginUserInfo.id};
            let result=sensorServer.getIsApproveReportAccount(params);
            let approveLogList=sensorServer.getIsApproveReport(params);
            if(result==1){ //1. 拥有审批权限的有审批按钮 2.且今日没有审批的显示按钮，进入如果已经审批显示不可用，今日已审批！
                if(approveLogList.data.length==0)
                {
                    $("#btn_approveReport").show();
                }else{
                    $("#btn_approveReport").show();
                    $("#btn_approveReport")[0].innerHTML="今日已审批";
                    $('#btn_approveReport').addClass("layui-btn-disabled").attr("disabled",true);
                }
            }else{
                $("#btn_approveReport").hide();
            }


        }
        //是否能够导出？
        let canDerive=true;
        function checkApproveAccountList() {
             let resultData=sensorServer.approveDetails({});
             let gray='<span class="layui-badge layui-bg-gray">##name##</span>';
             let green='<span class="layui-badge layui-bg-green">##name##<i class="layui-icon">&#xe605;</i>  </span>';
             let title="审批详情：";
             let allHtml="";
             for (let i=0;i<resultData.data.length;i++){
                 let elme=resultData.data[i];
                 let person=elme.nickName;
                 if(person=="")
                     person=elme.accountName;
                 if(elme.approve){
                     allHtml+=green.replace("##name##",person);
                 }else{
                     allHtml+=gray.replace("##name##",person);
                     canDerive=false;
                 }
             }
             if(allHtml!="")
                $("#approveDetails").append(title+allHtml);
             return canDerive;
        }

        function updateReportList(obj) {
            let result=sensorServer.updateReportBase(obj);
            if(result==1){
                layer.msg("保存成功！");
                location.reload();
            }else{
                layer.msg("保存失败！");
            }
        }
    </script>



</html>
